B1(영유아) 메시지 전송

□ 센서보드 ⇒ 스마트폰

o Q=0(생존신호, 1분마다)

- 메시지 형식

Q=0;Type;Bat,Temp,Hum,Yaw;DEVICE_ID

- 메시지 예시

Q=0;2;99,27,30,10;AB22300001

o Q=2(뒤집기)

- 메시지 형식

Q=2;Type;Bat,Temp,Hum,Yaw;DEVICE_ID

- 메시지 예시

Q=2;2;99,27,30,10;AB22300001

o Q=1(움직임 데이터)

- 메시지 형식

Q=2;Type;TimeStamp,NumFrames,<Frame Data>

* TimeStamp: Unix time을 16진수로 표현한 스트링(8 바이트)

- 메시지 예시

Q=2;2;64DF27CC,16,<Frame Data – 256 bytes(16 * 16)>

* 블루투스의 MTU 크기 제한으로 Frame Data 크기를 128 바이트(18 * 8)로 축소

- Frame 형식(16 바이트)

NAGYAGYAGYAGYAGY

+ N : uint8_t, 0x05

+ A : uint8_t, (가속도 RMS) / 2

+ G : uint8_t, (각속도 RMS) / 2

+ Y : int8_t, Yaw / 2

+ AGY는 0x0A → 0xFF, 0xFF → 0xFE로 치환

o Q=4(상태 및 오류)

- 메시지 형식

Q=4;Type;Code,Opt1,Opt2

- Code=0(움직임 데이터 非존재)

Q=4;2;0,TimeStamp,NumFrames

o 코드 구현

int sys_uart_ble_send_data(uint32_t cur_time, uint8_t *data, int len );

* 상기 함수에서 코드 치환(0x0A → 0xFF, 0xFF → 0xFE) 구현

□ 스마트폰 ⇒ 센서보드

o 움직임 데이터 요청

- 처음 프레임부터 전송

0> mx_data

- 계속 전송

0> mx_data <NumFrames>

- 특정 시간부터 전송

0> mx_data <NumFrames> <TimeStamp>